Environment-based Configuration

Microsoft Technologies - ডট নেট কোর (Dot.Net Core) ASP.Net Core Configuration এবং Options Pattern |
212
212

Environment-based Configuration হলো এমন একটি কনফিগারেশন ব্যবস্থা যেখানে অ্যাপ্লিকেশনটি তার পরিবেশ অনুযায়ী কনফিগারেশন পরিবর্তন করতে পারে। ASP.NET Core-এ, আপনি বিভিন্ন পরিবেশে (যেমন Development, Staging, Production) আলাদা আলাদা কনফিগারেশন সেটিংস ব্যবহার করতে পারেন। এই বৈশিষ্ট্যটি বিশেষভাবে দরকারি যখন একই কোডবেস বিভিন্ন পরিবেশে চলবে এবং প্রতিটি পরিবেশের জন্য আলাদা কনফিগারেশন প্রয়োজন হয়।

ASP.NET Core-এ পরিবেশ ভিত্তিক কনফিগারেশন ব্যবস্থাপনার জন্য বিভিন্ন ফাইল, যেমন appsettings.json, appsettings.Development.json, appsettings.Production.json ব্যবহার করা হয়। পরিবেশ অনুযায়ী কনফিগারেশন ফাইলের বিষয়বস্তু ভিন্ন হতে পারে, যাতে আপনি সহজেই ডেভেলপমেন্ট, স্টেজিং বা প্রোডাকশনের জন্য আলাদা সেটিংস নির্ধারণ করতে পারেন।


পরিবেশ কিভাবে নির্ধারণ করবেন?

ASP.NET Core অ্যাপ্লিকেশনটি কোন পরিবেশে চলছে তা পরিবেশ ভেরিয়েবল বা কনফিগারেশন সেটিংসের মাধ্যমে জানা যায়। সাধারণত, পরিবেশ ভেরিয়েবল ASPNETCORE_ENVIRONMENT এর মাধ্যমে নির্ধারিত হয়।

এটি সাধারণত তিনটি মূল মান গ্রহণ করে:

  • Development
  • Staging
  • Production

আপনি এই ভেরিয়েবলটি কনফিগার করতে পারেন অ্যাপ্লিকেশন শুরু হওয়ার সময়, বা ডেভেলপমেন্ট পরিবেশে Visual Studio বা কমান্ড লাইন ব্যবহার করে সেটিংস কনফিগার করতে পারেন।

উদাহরণ: launchSettings.json ফাইলে পরিবেশ সেট করা

{
  "profiles": {
    "IIS Express": {
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "ProjectName": {
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Production"
      }
    }
  }
}

এখানে, IIS Express প্রোফাইলে Development পরিবেশ এবং ProjectName প্রোফাইলে Production পরিবেশ নির্ধারণ করা হয়েছে।


appsettings.json এবং পরিবেশ ভিত্তিক কনফিগারেশন

ASP.NET Core-এ সাধারণত appsettings.json ফাইলটি কনফিগারেশনের জন্য ব্যবহার হয়। তবে আপনি পরিবেশ অনুযায়ী আলাদা কনফিগারেশন ফাইলও ব্যবহার করতে পারেন। উদাহরণস্বরূপ, appsettings.Development.json, appsettings.Production.json ইত্যাদি ফাইল ব্যবহার করা যেতে পারে, যেখানে প্রতিটি পরিবেশের জন্য আলাদা কনফিগারেশন থাকবে।

উদাহরণ: appsettings.json

{
  "AppSettings": {
    "ApplicationName": "My Application",
    "Version": "1.0.0"
  }
}

উদাহরণ: appsettings.Development.json

{
  "AppSettings": {
    "ApplicationName": "My Application (Development)",
    "Version": "1.0.0-dev"
  }
}

উদাহরণ: appsettings.Production.json

{
  "AppSettings": {
    "ApplicationName": "My Application (Production)",
    "Version": "1.0.0"
  }
}

এখন, অ্যাপ্লিকেশন শুরু হওয়ার সময়, সিস্টেম ASPNETCORE_ENVIRONMENT ভেরিয়েবল অনুসারে উপযুক্ত কনফিগারেশন ফাইল লোড করবে।


IConfiguration Interface এবং Environment-based Configuration

ASP.NET Core-এ IConfiguration ইন্টারফেস ব্যবহার করে কনফিগারেশন অ্যাক্সেস করা হয়। এটি সমস্ত কনফিগারেশন ফাইল (যেমন appsettings.json, appsettings.Environment.json, ইত্যাদি) একত্রিত করে একটি সহজ ও কেন্দ্রীভূত অ্যাক্সেস পদ্ধতি প্রদান করে।

উদাহরণ: কনফিগারেশন অ্যাক্সেস করা

public class Startup
{
    private readonly IConfiguration _configuration;

    public Startup(IConfiguration configuration)
    {
        _configuration = configuration;
    }

    public void ConfigureServices(IServiceCollection services)
    {
        var appSettings = _configuration.GetSection("AppSettings").Get<AppSettings>();
        services.AddSingleton(appSettings);
    }
}

এখানে, IConfiguration ব্যবহারের মাধ্যমে appsettings.json থেকে কনফিগারেশন ডেটা পাওয়া হচ্ছে।

ASP.NET Core সিস্টেম স্বয়ংক্রিয়ভাবে পরিবেশ অনুযায়ী সঠিক কনফিগারেশন ফাইলটি লোড করে, তবে আপনি Environment-based Configuration এর সুবিধা গ্রহণ করতে চাইলে কনফিগারেশন ফাইলগুলির নামকরণ এবং পরিবেশ ভেরিয়েবল ব্যবহার নিশ্চিত করতে হবে।


সারাংশ


Environment-based Configuration এর মাধ্যমে ASP.NET Core অ্যাপ্লিকেশনগুলো সহজেই বিভিন্ন পরিবেশের জন্য আলাদা কনফিগারেশন সেট করতে পারে। এটি বিশেষভাবে ডেভেলপমেন্ট, স্টেজিং এবং প্রোডাকশন পরিবেশের মধ্যে আলাদা আলাদা কনফিগারেশন প্রযোজ্য করতে সহায়তা করে। IConfiguration ইন্টারফেস এবং পরিবেশ ভেরিয়েবল ব্যবহার করে অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে পরিবেশ অনুযায়ী সঠিক কনফিগারেশন লোড করে, যা ডেভেলপমেন্ট থেকে প্রোডাকশনে সুগম অ্যাপ্লিকেশন ম্যানেজমেন্ট নিশ্চিত করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion